﻿using System.ComponentModel.DataAnnotations;

namespace T.E.ERP.Read.API.Dtos.Dtos
{
    public class FanInvoiceSettlementEntityDtos
    {

        /// <summary>
        /// 主键
        /// </summary>
        public int InvoiceSettlementEntityId { get; set; }

        // 单据编码
        public Guid DocumentCode { get; set; }

        // 业务类型（销售开票等）
        public string BusinessType { get; set; }

        // 客户名称
        public string CustomerName { get; set; }

        // 开户行
        public string Bank { get; set; }

        // 交付邮箱
        public string DeliveryEmail { get; set; }

        // 单据日期
        public DateTime DocumentDate { get; set; } = DateTime.Now;

        // 操作员
        public string Operator { get; set; }

        // 蓝字红字（如蓝宇、红字）
        public string InvoiceTypeFlag { get; set; }

        // 账号
        public string AccountNumber { get; set; }

        // 备注信息
        public string Remark { get; set; }

        // 单据状态（开立等）
        public string DocumentStatus { get; set; }

        // 审核员
        public string Auditor { get; set; }

        // 税率
        public string TaxRate { get; set; } = "13%"; // 设置默认值示例

        // 税号
        public string TaxNumber { get; set; }

        // 业务状态（正常等）
        public string BusinessStatus { get; set; }

        // 审核日期
        public DateTime? AuditDate { get; set; } // 可为空的日期

        // 发票类型
        public string InvoiceType { get; set; }

        // 地址电话
        public string AddressPhone { get; set; }




        /// <summary>
        /// 单据编码   外键  （销售订单/销售出库单据/采购入库单据）
        /// </summary>
        public Guid SaleCode { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        public long MaterialsCode { get; set; }
        /// <summary>
        /// 物料名称
        /// </summary>
        public string? MaterialsName { get; set; }
        /// <summary>
        /// 型号规格
        /// </summary>
        public string? ModelSpecification { get; set; }

        /// <summary>
        /// 主计量
        /// </summary>
        public string? Calulate { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public int? CalulateNumber { get; set; }

        /// <summary>
        /// 单价
        /// </summary>
        public double? Price { get; set; }
        /// <summary>
        /// 总价
        /// </summary>
        public double? TotalPrice { get; set; }
        /// <summary>
        /// 质量要求
        /// </summary>
        public string? QualityRequir { get; set; }
        /// <summary>
        /// 包装要求
        /// </summary>
        public string? PackRequir { get; set; }



    }

}
